﻿// 文件使用MiniExcel源码， 使用时需遵循其 Apache License 2.0
// 修改摘要通知： 删除异步、Task等net2.0中不支持的内容，替换原先C#自带的zip处理方式，改用yacomp 进行解压缩。
using System;
using System.Collections;
using System.Data;

namespace ExcelConfig.WriteAdapter
{
    internal static class MiniExcelWriteAdapterFactory
    {
        internal static IMiniExcelWriteAdapter GetWriteAdapter(object values, Configuration configuration)
        {
            switch (values)
            {
                case IDataReader dataReader:
                    return new DataReaderWriteAdapter(dataReader, configuration);
                case IEnumerable enumerable:
                    return new EnumerableWriteAdapter(enumerable, configuration);
                case DataTable dataTable:
                    return new DataTableWriteAdapter(dataTable, configuration);
                default:
                    throw new NotImplementedException();
            }
        }
    }
}
